import java.util.Random;
import java.util.Scanner;

/*
1，月份和季节
创建一个SwitchTest类，在类的main方法里编写代码，完成如下功能：

(1) 输入一个代表月份的整数，根据输入的整数输出季节名称。

> 春季3,4,5；夏季6,7,8；秋季9,10,11；冬季12,1,2。
 */
class Z1Season{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("输入月份：");
        String month = sc.nextLine();
        switch (month){
            case "3":
            case "4":
            case "5":
                System.out.println("春季");
                break;
            case "6":
            case "7":
            case "8":
                System.out.println("夏季");
                break;
            case "9":
            case "10":
            case "11":
                System.out.println("秋季");
                break;
            case "12":
            case "1":
            case "2":
                System.out.println("冬季");
                break;
            default:
                System.out.println("输入错误！");
        }
    }
}
/*
2，水仙花数
在控制台打印出所有的水仙花数。
水仙花数：是一个三位数，水仙花数的个位、十位、百位
数字的立方之和等于原数。
 */
class Z2Shuixian{
    public static void main(String[] args) {
        for (int i = 100; i <= 999; i++) {
            //求各个位数
            int ge = i%10;
            int shi = i/10%10;
            int bai = i/10/10%10;
//            System.out.println("i = " + i+"-"+bai+","+shi+","+ge);
            if(ge*ge*ge+shi*shi*shi+bai*bai*bai == i){
                System.out.println("水仙花是："+i);
            }
        }
    }
}

/**
 * 交换变量
 * 控制台输入两个数字，分别被a、b接收到，编程交换他们的值
 */
class J3huanuan{
    public static void main(String[] args) {
        int a = 3;
        int b = 5;
        //第三方变量，临时变量，temp
//        int temp = a;
//        a = b;
//        b = temp;
//        System.out.println("a = " + a);//5
//        System.out.println("b = " + b);//3


        a = a+b;
        b = a - b;
        a = a - b;
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}
/*
随机数
产生1个取值范围在[5,18)的随机数。
[5,18]  - [5,19)

[min,max]


 */
class Z4Random{
    public static void main(String[] args) {
        Random r = new Random();
        for (int i = 0; i < 10; i++) {
            int num = r.nextInt(18-5+1) + 5;
            System.out.println("num = " + num);
        }

    }
}

class Z5for{
    public static void main(String[] args) {
        for (int i = 5; i < 100; i+=5) {
            System.out.println(i);
        }
    }
}
/*
(2) 编写代码，从控制台输入一个正整数保存在变量n中，计算n的阶乘。
 */
class Z5for2{
    public static void main(String[] args) {
        int n = 20;
        int jie = 1;
        for (int i = 1; i <= n; i++) {
            jie *= i;
        }
        System.out.println("jie = " + jie);
    }
}
/*
编写代码，随机产生10个[5, 30]之间的整数， 输出这个10个随机数，并计算出10个数中的最大值， 最小值， 和以及平均数。
5,30

 */
class Z5for3{
    public static void main(String[] args) {
        Random r = new Random();
        //假如5是最大值
        int max = 5;
        int min = 30;
        int sum = 0;//保存和
        for (int i = 0; i < 10; i++) {
            int temp = r.nextInt(26)+5;
            if(temp>max){
                //生成了更大的值，保存到max
                max = temp;
            }
            if(temp<min){
                //生成了更小的值，保存到min
                min = temp;
            }
            sum += temp;
            System.out.print(temp+",");
        }
        System.out.println();
        //打印最大值
        System.out.println("max = " + max);
        System.out.println("min = " + min);
        System.out.println("avg = " + sum/10.0);
    }
}
/*
(1)如果你是一个富二代，你有10亿元（1000000000），每天花一半，多天可以花完。编写代码，使用while循环计算10亿元可以花多少天？
 */
class Z6money{
    public static void main(String[] args) {
        double money = 1000000000;
        int day = 0;
        while (money>=0.01){
            //天数+1
            day++;
            //每进入一次循环，花一半
            //3 , 1
            money /= 2;
            System.out.println("第"+day+"天，剩"+money+"元");
        }
        System.out.println("day = " + day);
    }
}
/*
创建一个DoWhileTest类，在类的main方法里面编写代码，完成如下功能：

  编写代码，通过do..while循环计算1+2+3+...+100的和。
 */
class Z6Dowhiletest{
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        do {
            sum += i;
            i++;
            //1,2,....99,100
        }while (i<=100);
        System.out.println("sum = " + sum);
    }
}